Mô tả thuật toán Advanced Encryption Standard

Trong bước AddRoundKey, mỗi byte được kết hợp với một byte trong khóa con của chu trình sử dụng phép toán XOR (⊕).
Trong bước SubBytes, mỗi byte được thay thế bằng một byte theo bảng tra, S; bij = S(aij).
Trong bước ShiftRows, các byte trong mỗi hàng được dịch vòng trái. Số vị trí dịch chuyển tùy thuộc từng hàng.
Trong bước MixColumns, mỗi cột được nhân với một hệ số cố định c(x).

Mặc dù 2 tên AES và Rijndael vẫn thường được gọi thay thế cho nhau nhưng trên thực tế thì 2 thuật toán không hoàn toàn giống nhau. AES chỉ làm việc với các khối dữ liệu (đầu vào và đầu ra) 128 bít và khóa có độ dài 128, 192 hoặc 256 bít trong khi Rijndael có thể làm việc với dữ liệu và khóa có độ dài bất kỳ là bội số của 32 bít nằm trong khoảng từ 128 tới 256 bít.Các khóa con sử dụng trong các chu trình được tạo ra bởi quá trình tạo khóa con Rijndael. Mỗi khóa con cũng là một cột gồm 4 byte.Hầu hết các phép toán trong thuật toán AES đều thực hiện trong một trường hữu hạn của các byte.Mỗi khối dữ liệu 128 bit đầu vào được chia thành 16 byte (mỗi byte 8 bit),có thể xếp thành 4 cột, mỗi cột 4 phần tử hay là một ma trận 4x4 của các byte,nó được gọi là ma trận trạng thái, hay vắn tắt là trạng thái (tiếng Anh: state, trạng thái trong Rijndael có thể có thêm cột). Trong quá trình thực hiện thuật toán các toán tử tác động để biến đổi ma trận trạng thái này.

Tài liệu tham khảo

WikiPedia: Advanced Encryption Standard http://www.iaik.tu-graz.ac.at/research/krypto/AES/ http://www.iaik.tu-graz.ac.at/research/krypto/AES/... http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ http://www.esat.kuleuven.ac.be/~rijmen/rijndael/ri... http://groups.google.com/groups?selm=42620794@news... http://www.macfergus.com/pub/rdalgeq.html http://fp.gladman.plus.com/cryptography_technology... http://www.quadibloc.com/crypto/co040401.htm http://www.schneier.com/paper-rijndael.html http://www.cs.eku.edu/faculty/styer/460/Encrypt/JS...